package com.brillilab.common.utils;

import java.util.HashMap;
import java.util.Map;

/**
 * @author zlb
 * @Title: FileTypeUtil
 * @ProjectName brill_lab
 * @Description: TODO
 * @date 2019/6/1 14:47
 */
public class FileTypeUtil {
    public final static Map<String, Integer> FILE_TYPE_MAP = new HashMap<String, Integer>();

    private FileTypeUtil() {
    }

    /**
     * 根据文件路径或者文件名获取文件类型（0文件，1音频，2视频，3图片）
     *
     * @param fileUrl 文件路径或文件名
     * @return
     */
    public static Integer getFileType(String fileUrl) {
        String fileType = fileUrl.substring(fileUrl.lastIndexOf(".") +1);
        Integer integer = FILE_TYPE_MAP.get(fileType.toLowerCase());
        if (integer == null) {
            return 0;
        }
        return integer;
    }

    /**
     * 文件类型（0文件，1音频，2视频，3图片）
     */
    static {
        FILE_TYPE_MAP.put("txt", 0);
        FILE_TYPE_MAP.put("doc", 0);
        FILE_TYPE_MAP.put("docx", 0);
        FILE_TYPE_MAP.put("xls", 0);
        FILE_TYPE_MAP.put("htm", 0);
        FILE_TYPE_MAP.put("html", 0);
        FILE_TYPE_MAP.put("jsp", 0);
        FILE_TYPE_MAP.put("rtf", 0);
        FILE_TYPE_MAP.put("wpd", 0);
        FILE_TYPE_MAP.put("pdf", 0);
        FILE_TYPE_MAP.put("ppt", 0);
        FILE_TYPE_MAP.put("mp3", 1);
        FILE_TYPE_MAP.put("wma", 1);
        FILE_TYPE_MAP.put("wav", 1);
        FILE_TYPE_MAP.put("mod", 1);
        FILE_TYPE_MAP.put("ra", 1);
        FILE_TYPE_MAP.put("cd", 1);
        FILE_TYPE_MAP.put("md", 1);
        FILE_TYPE_MAP.put("asf", 1);
        FILE_TYPE_MAP.put("aac", 1);
        FILE_TYPE_MAP.put("vqf", 1);
        FILE_TYPE_MAP.put("ape", 1);
        FILE_TYPE_MAP.put("mid", 1);
        FILE_TYPE_MAP.put("ogg", 1);
        FILE_TYPE_MAP.put("m4a", 1);
        FILE_TYPE_MAP.put("vqf", 1);
        FILE_TYPE_MAP.put("aif", 1);
        FILE_TYPE_MAP.put("aiff", 1);
        FILE_TYPE_MAP.put("au", 1);
        FILE_TYPE_MAP.put("midi", 1);
        FILE_TYPE_MAP.put("midi", 1);
        FILE_TYPE_MAP.put("rmi", 1);
        FILE_TYPE_MAP.put("rmm", 1);
        FILE_TYPE_MAP.put("mp4", 2);
        FILE_TYPE_MAP.put("avi", 2);
        FILE_TYPE_MAP.put("mov", 2);
        FILE_TYPE_MAP.put("wmv", 2);
        FILE_TYPE_MAP.put("asf", 2);
        FILE_TYPE_MAP.put("navi", 2);
        FILE_TYPE_MAP.put("3gp", 2);
        FILE_TYPE_MAP.put("mkv", 2);
        FILE_TYPE_MAP.put("f4v", 2);
        FILE_TYPE_MAP.put("rmvb", 2);
        FILE_TYPE_MAP.put("webm", 2);
        FILE_TYPE_MAP.put("bmp", 3);
        FILE_TYPE_MAP.put("jpg", 3);
        FILE_TYPE_MAP.put("jpeg", 3);
        FILE_TYPE_MAP.put("png", 3);
        FILE_TYPE_MAP.put("tiff", 3);
        FILE_TYPE_MAP.put("gif", 3);
        FILE_TYPE_MAP.put("pcx", 3);
        FILE_TYPE_MAP.put("tga", 3);
        FILE_TYPE_MAP.put("exif", 3);
        FILE_TYPE_MAP.put("fpx", 3);
        FILE_TYPE_MAP.put("svg", 3);
        FILE_TYPE_MAP.put("psd", 3);
        FILE_TYPE_MAP.put("cdr", 3);
        FILE_TYPE_MAP.put("pcd", 3);
        FILE_TYPE_MAP.put("dxf", 3);
        FILE_TYPE_MAP.put("ufo", 3);
        FILE_TYPE_MAP.put("eps", 3);
        FILE_TYPE_MAP.put("ai", 3);
        FILE_TYPE_MAP.put("raw", 3);
        FILE_TYPE_MAP.put("wmf", 3);
    }
}
